Problem with maintaining a consistency of the shared data is occurring at various levels in a conventional computer system. The problem of maintaining a data consistency occurs when more than two executing units are sharing the data, because each executing unit updates the data being shared. Also, when each executing unit has a copy of the shared data, a problem of how to maintain consistency between an original shared data and the copy of the shared data occurs, and between the copies of the shared data. To give an example of how the problem of maintaining the data consistency is being dealt within a multi-processor computer of a shared memory type, if each CPU (Central Processing Unit) updates data of the shared memory, a loss of data consistency is prevented by performing an exclusive control based on the data of the shared memory by using a test-and-set instruction, and by writing the data synchronously. Also, when each CPU has a cache memory, a consistency of cache data between CPUs is maintained by applying solution measures such as write through, copy back and snooping.
Another example is a case of sharing a file among processes. This is a case where maintaining a file consistency is not as strict, although access from a plurality of processes are permitted. Or, in a case when the data consistency is very important, the exclusive control among processes is provided by using a semaphore lock mechanism, although this may sacrifice the processing efficiency. Other than the given examples, there are lots of technique relating to the data consistency. To give one concrete example, refer to Japanese Unexamined Patent Publication SHO 62-206935 which discloses a technique to serialize a control file access for the exclusive control of a system resource using updating queue and processing task.
A database transaction has one of the major data consistency problem occurring at an application program level, for which the present invention is mainly being applied. The transaction includes a discrete electronic business dealings such as bank account and inventory control. Such transaction must satisfy a property known as ACID (Atomicity, Consistency, Isolation and Durability). In other words, every one of transactions taking place in a system must be a transaction that “cannot be separated”, “does not lose data consistency”, “is isolated from other transactions” and “should never lose data”.
In order to implement this property, the conventional system has synchronously processed a transaction. That is, when updating data in a database from a terminal, a series of operation will take place as follows: connects to the database; obtains permission to update the database; refers to a data and updates the data; issues a database updating instruction (commit); and completes the series of operation. For example, when a database user wish to update a data which is being used by another database user, the updating transaction waits for the database to become available in a state of being connected to the database. The series of operation maintains connections to the database and executed without interrupt.
If, the database is disconnected during the series of operation, the executing transaction is interrupted and the transaction becomes invalid. The conventional database system has guaranteed for the data consistency, assuming that the series of transaction operation, such as specifying an update data, the exclusive control of update data, a data manipulation, and a database updating that will not separate and interrupt, are all guaranteed.
A technique to expand a futures trading market which has been practiced based on “standing at a dealing session” using a computer system, instead of using a physical place called “dealing session”, is disclosed in Japanese Unexamined Patent Publication HEI 3-505938. Information obtained from attending the “dealing session” is supplied by the computer system. And a trading mechanism in the “dealing session”, or in other words, a transaction mechanism is implemented by the computer system.
The computer system adopted in the present invention, for example, is described in Japanese unexamined patent publication HEI 3-505938. By applying the present invention to this computer system, the “dealing session” which this computer system is aiming for can further be expanded. According to the conventional transaction processing, provided that an update request of the data from a terminal is processed synchronously, including a case of using a queuing mechanism such as TP (transaction processing) monitor which aims to adjust a database access load, the conventional transaction processing is implemented by setting the exclusive control mechanism for each transaction processing. To perform a synchronous processing from the terminal, a connection status between the terminal and a host (or server) needs be guaranteed by a communication protocol of some kind. A quality of communication channel is guaranteed by the communication protocol to an extent, however, when using a wireless channel such as mobile telephone and PHS (personal handyphone system), the connection status of the channel cannot necessarily be guaranteed, including a case of channel cut-off as well as a case when a user does not explicitly use the wireless channel. In addition, a rate of transferring is slow. It is predicted that a lot of invalid transactions occurs when the transaction processing is attempted from a terminal which uses such wireless channel. When the transaction is invalid, the user incurs loss and a load on the system is increased.
The present invention aims to supply the data updating system and the data updating method that can execute a data updating transaction among the users equally, even when an user may be using a terminal which cannot necessarily guarantee the connection status.